/**
 ******************************************************************************
 * @file    nb_iot.c
 * @brief   nb_iot program body
 ******************************************************************************
 * @attention NB-IoT（NarrowBand Internet of Things，窄带物联网） 是一种专为
 * 物联网（IoT）设备设计的低功耗、广覆盖的蜂窝网络技术。它让成千上万的设备能够
 * 以极低的功耗和成本，在广泛的地理区域内进行小数据量的通信。
 ******************************************************************************
 */
/* includes ------------------------------------------------------------------*/
#include "nb_iot.h"
/* Private includes ----------------------------------------------------------*/
#include <string.h>
#include "qs100.h"
#include "debug.h"

/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private user code ---------------------------------------------------------*/
/**
 * @brief NB-IoT初始化
 * @param
 * @return
 */
void NB_IoT_Init(void)
{
	QS100_Init();
}

/**
 * @brief NB-IoT发送数据
 * @param
 * @return
 */
uint8_t NB_IoT_SendData(uint8_t *data)
{
	uint16_t dataLen = strlen((char*)data);
	LOG_DEBUG("upload data len:%d", dataLen);
	uint8_t isDataSent = QS100_SendData(data, dataLen);
	return isDataSent;
}

/**
 * @brief NB-IoT进入深度睡眠
 * @param
 * @return
 */
void NB_IoT_EnterLowPowerMode(void)
{
	QS100_GoIntoDeepSleep();
}

/**
 * @brief NB-IoT退出深度睡眠
 * @param
 * @return
 */
void NB_IoT_ExitLowPowerMode(void)
{
	QS100_Wakeup();
}

